// pages/goods/list/index.js
import {reqGoodsList} from "../../../apis/goods"
Page({
  /** * 页面的初始数据 */
  data: {
    goodsList: [], // 商品列表数据
    total: 0, // 数据总条数
    isFinish: false,// 判断数据是否加载完毕
    isLoading: false, // 判断数据是否记载完毕
     // 接口请求参数
    requestData: {
       page: 1, // 页码
       limit: 10, // 每页请求多少条数据
       category1Id: '', // 一级分类 id
       category2Id: '' // 二级分类 id
   }
  },
  //获取商品列表数据
async  getGoodList(){
  // 数据真正请求中
    this.data.isLoading = true
    const {data} = await reqGoodsList(this.data.requestData)
   // 数据加载完毕
   this.data.isLoading = false
    // console.log(data.records);
    this.setData({
      goodsList:[...this.data.goodsList, ...data.records],
      total:data.total

    })
  },
  onLoad(options){
   // console.log(options);//{category1Id: "1"}//{category2Id: "3"}
    //合并参数
    Object.assign(this.data.requestData,options)
    //调用商品列表数据函数
    this.getGoodList()
  },
  // 监听页面的上拉操作
  onReachBottom(){
    const { total, goodsList, isLoading } = this.data
    let {page} =this.data.requestData
     // 判断是否加载完毕，如果 isLoading 等于 true
     // 说明数据还没有加载完毕，不加载下一页数据
     if (isLoading) return
    if(goodsList.length >total *3){
        // 如果数据加载完毕，需要给用户提示，同时不继续加载下一个数据
     this.setData({
         isFinish: true
       })
       return
    }
    this.setData({
      requestData:{...this.data.requestData,page:page+1}
    })
    this.getGoodList()
  },
  // 监听页面的下拉刷新
onPullDownRefresh(){
    // 将数据进行重置
    this.setData({
      goodsList: [],
      total: 0,
      isFinish: false,
      requestData: { ...this.data.requestData, page: 1 }
    })
  
    // 重新获取列表数据
    this.getGoodList()
    //手动关闭下拉刷新效果
    wx.stopPullDownRefresh()
},
// 转发功能
onShareAppMessage() {
},

// 转发到朋友圈功能
onShareTimeline() {}





})
